EVENTO
Experimentos com uma abordagem multi-linguagem na implementação de resolvedores numéricos escaláveis
Tipo de evento: Seminário LNCC
Esta palestra apresenta uma abordagem sendo desenvolvida no Grupo MARTIN da Coordenação de Ciência da Computação (CCC) para implementação de resolvedores numéricos escaláveis usando múltiplas linguagens de programação. O objetivo dessa abordagem é atender diferentes atributos de qualidade de software (desempenho, tolerância a falhas, configurabilidade, manutenibilidade) nesses resolvedores explorando as características particulares de cada linguagem envolvida. Essa abordagem teve seu desenvolvimento iniciado com o projeto SPiNMe, conduzido em parceria com pesquisadores da Coordenação de Matemática Aplicada (CMA), para prototipagem rápida de novos métodos numéricos baseados na biblioteca C++ de elementos finitos NeoPZ e na linguagem Lua para configuração e prototipação rápida. Desse projeto derivou um segundo, em andamento, para o desenvolvimento de um resolvedor específico para uma nova família de métodos numéricos baseados em elementos finitos, denominada MHM (Multiscale Hybrid-Mixed). Essa nova família de métodos, desenvolvida por pesquisadores da CMA e da Pontifícia Universidade Católica de Valparaíso - Chile (PUCV), permite a solução de problemas físicos com precisão de alta ordem em domínios discretizados com malhas de granulosidade grossa. Mais importante, o MHM explora uma estratégia computacional de baixo acoplamento baseada no cômputo independente de subproblemas com operadores equivalentes ao do problema original em elementos individuais da malha grossa. As soluções nesses elementos são então usadas para compor a solução do problema global na malha grossa completa. Nesse resolvedor, a linguagem Erlang vem sendo usada na implementação de base para os mecanismos de comunicação entre os demais componentes do resolvedor, enquanto C++ é usada na implementação dos componentes que fazem o processamento numérico para a composição da solução do problema global. Além disso, uma biblioteca C++ baseada em métodos numéricos clássicos para elementos finitos também foi desenvolvida e oferecida no resolvedor como um default" para a resolução dos subproblemas locais no MHM. Por fim, a linguagem Lua vem sendo usada para a definição de coeficientes e termos de fonte como funções arbitrárias. Esta palestra apresenta uma avaliação preliminar de desempenho desse resolvedor, considerando suas propriedades de speed-up e balanceamento de carga. A palestra termina com uma descrição do trabalho futuro que se pretende desenvolver com esse resolvedor bem como especificamente com a parte Erlang, que se pretende empregar no contexto de outro resolvedor, baseado em volumes finitos, em desenvolvimento no Grupo HemoLab da CCC
Data Início: 13/04/2015 Hora: 14:00 Data Fim: Hora: 15:30
Local: LNCC - Laboratório Nacional de Computação Ciêntifica - Auditorio A
Comitê Organizador: Antônio Tadeu Azevedo Gomes - Laboratório Nacional de Computação Científica - LNCC - atagomes@lncc.br